package com.bjsxt;

import java.util.ArrayList;
import java.util.List;

/**
 * 被订阅的主题
 *
 * @author melo
 */
public class Subject {

	protected List<Observer> list = new ArrayList<>();

	public void register(Observer observer) {
		list.add(observer);
	}

	public void removeObserver(Observer observer) {
		list.remove(observer);
	}

	/**
	 * 通知所有观察者更新状态
	 */
	public void notifyAllObserver() {
		list.forEach(observer -> observer.update(this));
	}
}
